package entity

import "encoding/json"

type SimCard struct {
	Id                int64           `gorm:"column:id;primary_key" json:"id"`
	UserId            int64           `gorm:"column:user_id;type:bigint;comment:用户ID" json:"user_id"`
	UserPhone         string          `gorm:"column:user_phone;type:varchar(30);comment:用户手机号" json:"user_phone"`
	AgentId           int64           `gorm:"column:agent_id;type:bigint;comment:代理ID" json:"agent_id"`
	AgentDetail       json.RawMessage `gorm:"column:agent_detail;type:json;comment:代理详情" json:"agent_detail"`
	EbikeId           int64           `gorm:"column:ebike_id;type:bigint;comment:车辆ID" json:"ebike_id"`
	Sn                string          `gorm:"column:sn;type:varchar(32);comment:车辆Sn" json:"sn"`
	FrameCode         string          `gorm:"column:frame_code;type:varchar(32);comment:车辆车架号" json:"frame_code"`
	Iccid             string          `gorm:"column:iccid;type:varchar(32);comment:车辆车架号" json:"iccid"`
	EffectiveDate     string          `gorm:"column:effective_date;type:varchar(32);comment:流量卡生效日期" json:"effective_date"`
	ExpiredDate       string          `gorm:"column:expired_date;type:varchar(32);comment:流量卡失效日期" json:"expired_date"`
	EffectiveDateUnix int64           `gorm:"column:effective_date_unix;type:bigint;index;comment:流量卡生效日期(unix时间戳)" json:"effective_date_unix"`
	ExpiredDateUnix   int64           `gorm:"column:expired_date_unix;type:bigint;index;comment:流量卡失效日期(unix时间戳)" json:"expired_date_unix"`
	Status            int             `gorm:"column:status;type:integer;comment:流量卡状态" json:"status"`
	Detail            json.RawMessage `gorm:"column:detail;type:json;comment:流量卡详情" json:"detail"`
	CreatedAt         int64           `gorm:"column:created_at;type:bigint;" json:"created_at"`
	UpdatedAt         int64           `gorm:"column:updated_at;type:bigint;" json:"updated_at"`
}

func (s *SimCard) TableName() string {
	return "sim_card"
}
